﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Telerik.WinControls;
using Negocio;
using Negocio.Interface;
using Metadados;

namespace Interface
{
    public partial class TECadastroFornecedor : Telerik.WinControls.UI.RadForm, ITCadastroFornecedor
    {
        private NGFornecedor controlador;

        public bool forJuridico
        {
            set
            {
                rdbCnpj.IsChecked = value;
                rdbCpf.IsChecked = !value;
            }

            get { return rdbCnpj.IsChecked; }
        }
        public string forCpfCnpj
        {
            set { txbCpfCnpj.Text = value; }
            get { return txbCpfCnpj.Text; }
        }

        public string forNome
        {
            set { txbNome.Text = value; }
            get { return txbNome.Text; }
        }

        public string forInscricaoEstadual
        {
            set { txbInscricaoEstadual.Text = value; }
            get { return txbInscricaoEstadual.Text; }
        }

        public string forLogradouro
        {
            set { txbLogradouro.Text = value; }
            get { return txbLogradouro.Text; }
        }

        public string forNumero
        {
            set { txbNumero.Text = value; }
            get { return txbNumero.Text; }
        }

        public string forComplemento
        {
            set { txbComplemento.Text = value; }
            get { return txbComplemento.Text; }
        }

        public string forBairro
        {
            set { txbBairro.Text = value; }
            get { return txbBairro.Text; }
        }

        public string forCidade
        {
            set { txbCidade.Text = value; }
            get { return txbCidade.Text; }
        }

        public string forEstado
        {
            set { cmbEstado.Text = value; }
            get { return cmbEstado.Text; }
        }

        public string forFone
        {
            set { txbFone.Text = value; }
            get { return txbFone.Text; }
        }

        public string forEmail
        {
            set { txbEmail.Text = value; }
            get { return txbEmail.Text; }
        }

        public string forVendedor
        {
            set { txbVendedor.Text = value; }
            get { return txbVendedor.Text; }
        }

        public string forFoneVendedor
        {
            set { txbFoneVendedor.Text = value; }
            get { return txbFoneVendedor.Text; }
        }

        public string mensagem
        {
            set { Telerik.WinControls.RadMessageBox.Show(value, "  CotFácil  ", MessageBoxButtons.OK, RadMessageIcon.Error, MessageBoxDefaultButton.Button1); }
            get { return string.Empty; }
        }

        public TECadastroFornecedor()
        {
            controlador = new NGFornecedor(this);
            InitializeComponent();
        }

        private void btnFechar_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void btnNovo_Click(object sender, EventArgs e)
        {
            controlador.limpaTela();
        }


        private void btnExcluir_Click(object sender, EventArgs e)
        {
            controlador.deletar(forCpfCnpj);
        }

        private void btnGravar_Click(object sender, EventArgs e)
        {
            controlador.gravar();
        }


        private void TECadastroFornecedor_Load(object sender, EventArgs e)
        {
            // esta funcao preenche o combobox com as siglas dos estados
            NGEstado ctrEstado = new NGEstado();
            List<Estado> lstEstado = new List<Estado>();

            lstEstado = ctrEstado.RetornaLista();
            cmbEstado.DataSource = lstEstado;
            cmbEstado.DisplayMember = "estUf";
            cmbEstado.ValueMember = "estCodigo";

            cmbEstado.SelectedIndex = -1;
        }

        private void txbCpfCnpj_Validated(object sender, EventArgs e)
        {
            controlador.consultar(forCpfCnpj);
        }

        private void rdbCnpj_ToggleStateChanged(object sender, Telerik.WinControls.UI.StateChangedEventArgs args)
        {
            if (args.ToggleState == Telerik.WinControls.Enumerations.ToggleState.On)
            {
                txbCpfCnpj.Mask = "00,000,000/0000-00";
            }
            if (args.ToggleState == Telerik.WinControls.Enumerations.ToggleState.Off)
            {
                txbCpfCnpj.Mask = "";
            }
        }

        private void rbCpf_ToggleStateChanged(object sender, Telerik.WinControls.UI.StateChangedEventArgs args)
        {
            if (args.ToggleState == Telerik.WinControls.Enumerations.ToggleState.On)
            {
                txbCpfCnpj.Mask = "000,000,000-00";
            }
            if (args.ToggleState == Telerik.WinControls.Enumerations.ToggleState.Off)
            {
                txbCpfCnpj.Mask = "";
            }
        }

    }
}
